const BaseUrl = 'http://www.codeman.ink/api' // http://192.168.176.146:3000
let ajaxTimes = 0
export default function request(params) {
	// 每触发一次请求就加1
	ajaxTimes++
	// 发送请求前先显示加载加载中提示语
	uni.showLoading({
	  title: "加载中...",
	  // 显示遮罩
	  mask: true
	});
	return new Promise((resolve, reject) => {
		uni.request({
			url: BaseUrl + params.url,
			method: params.method || 'GET',
			data: params.data || {},
			success(res) {
				if (res.data.code !== 200) {
					return uni.showToast({title: res.data.message, icon: 'none'})
				}
				resolve(res)
			},
			fail(err) {
				uni.showToast({title: '请求接口失败', icon: 'none'})
				reject(err)
			},
			complete() {
				ajaxTimes--
				/**
				当有多个同时进行的异步请求时,页面只会显示一个 wx.showLoading,而数据请求有先后,当最快的数据请求回来时,
				就关闭 wx.showLoading 提示,那其他几个异步数据还未请求回来就显得不美观(有的地方空白,有的地方有数据渲染),为此 ajaxTimes用于记录同时进行的异步请求,在请求前加1,在complete中减1,当等于0时说明请求以全部完成,可以关闭wx.showLoading 提示了[虽然请求很快,但是就怕请求的数据很多,所以这样写可以提高用户体验]
				里面加个定时器是为防止请求太快页面数据还未渲染完成就隐藏提示框
				*/
				if (ajaxTimes === 0) {
					setTimeout(() => {
						uni.hideLoading()
					}, 300)
				}
			}
		})
	})
}

export function request1(params) {
	return new Promise((resolve, reject) => {
		uni.request({
			url: BaseUrl + params.url,
			method: params.method || 'GET',
			data: params.data || {},
			success(res) {
				resolve(res)
			},
			fail(err) {
				uni.showToast({title: '请求接口失败', icon: 'none'})
				reject(err)
			}
		})
	})
}